package main

import (
	"context"
	"crypto/tls"
	"fmt"
	"github.com/redis/go-redis/v9"
)

func main() {
	// 创建非加密连接的Redis客户端
	client1 := redis.NewClient(&redis.Options{
		Addr:      "192.168.101.49:6379",
		Password:  "",  // Redis未设置密码
		TLSConfig: nil, // 未指定TLSConfig
	})

	// 创建加密连接的Redis客户端

	client2 := redis.NewClient(&redis.Options{
		Addr:     "192.168.101.49:6379",
		Password: "",
		TLSConfig: &tls.Config{
			// 创建TLS配置，跳过证书验证
			InsecureSkipVerify: true,
		},
	})

	// 测试非加密连接
	pong1, err := client1.Ping(context.Background()).Result()
	if err != nil {
		fmt.Println("连接Redis服务器出错：", err)
		return
	}
	fmt.Println("非加密连接成功：", pong1)

	// 测试加密连接
	pong2, err := client2.Ping(context.Background()).Result()
	if err != nil {
		fmt.Println("连接Redis服务器出错：", err)
		return
	}
	fmt.Println("加密连接成功：", pong2)

	// 关闭连接
	err = client1.Close()
	if err != nil {
		fmt.Println("关闭Redis连接出错：", err)
		return
	}
	fmt.Println("关闭非加密Redis连接成功")

	err = client2.Close()
	if err != nil {
		fmt.Println("关闭Redis连接出错：", err)
		return
	}
	fmt.Println("关闭加密Redis连接成功")
}
